
---@class CustomPatrolAction:ActionBase
CustomPatrolAction = class(ActionBase)

function CustomPatrolAction:GetLabel()
    return ECustomActionLabel.Patrol;
end

function CustomPatrolAction:GetCost()
    return 3;
end

function CustomPatrolAction:GetPriority()
    return 3;
end

function CustomPatrolAction:GetCanInterruptiblePlan()
    return false;
end

function CustomPatrolAction:GetInterruptible()
    return true;
end

function CustomPatrolAction:InitPreconditions()
    local state = State.new()
    state:Set(ECustomStateKey.Can_move,true);
    state:Set(ECustomStateKey.CanPatrol,true);
    return state;
end

function CustomPatrolAction:InitEffects()
    local state = State.new()
    state:Set(ECustomStateKey.CanPatrol,false);
    return state;
end